home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Visual Cafe 3
/
Visual Cafe 3.ISO
/
Vcafe
/
Sample.bin
/
Notepad.java
< prev
next >
Wrap
Text File
|
1998-11-01
|
19KB
|
500 lines
/*
A basic implementation of the JFrame class.
*/
import java.io.*;
import java.awt.*;
import java.text.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import com.sun.java.swing.text.*;
import com.sun.java.swing.undo.*;
import com.sun.java.swing.event.*;
import com.symantec.itools.swing.actions.JActionButton;
import com.symantec.itools.swing.icons.ImageIcon;
import com.symantec.itools.swing.actions.JActionMenuItem;
import com.symantec.itools.swing.JToolBarSeparator;
public class Notepad extends com.sun.java.swing.JFrame
{
String curFile=null;
String curFileDir=null;
public Notepad()
{
// This code is automatically generated by Visual Cafe when you add
// components to the visual environment. It instantiates and initializes
// the components. To modify the code, only use code syntax that matches
// what Visual Cafe can generate, or Visual Cafe may be unable to back
// parse your Java file into its visual environment.
//{{INIT_CONTROLS
setJMenuBar(JMenuBar1);
setTitle("Untitled");
getContentPane().setLayout(new BorderLayout(0,0));
setSize(474,377);
setVisible(false);
try {
newIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/new.gif"));
}
catch (java.net.MalformedURLException error) { }
//$$ newIcon.move(0,0);
try {
openIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/open.gif"));
}
catch (java.net.MalformedURLException error) { }
//$$ openIcon.move(0,0);
try {
saveIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/save.gif"));
}
catch (java.net.MalformedURLException error) { }
//$$ saveIcon.move(0,0);
try {
cutIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/cut.gif"));
}
catch (java.net.MalformedURLException error) { }
//$$ cutIcon.move(0,0);
try {
copyIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/copy.gif"));
}
catch (java.net.MalformedURLException error) { }
//$$ copyIcon.move(0,0);
try {
pasteIcon.setImageLocation(symantec.itools.net.RelativeURL.getURL("images/paste.gif"));
}
catch (java.net.MalformedURLException error) { }
//$$ pasteIcon.move(0,0);
newAction.setLongDescription("Create a new document");
newAction.setSmallIcon(newIcon);
newAction.setShortDescription("New");
newAction.setActionName("New");
//$$ newAction.move(0,0);
openAction.setLongDescription("Open An Existing Document");
openAction.setSmallIcon(openIcon);
openAction.setShortDescription("Open");
openAction.setActionName("Open");
//$$ openAction.move(0,0);
saveAction.setLongDescription("Save the current document");
saveAction.setSmallIcon(saveIcon);
saveAction.setShortDescription("Save");
saveAction.setActionName("Save");
//$$ saveAction.move(0,0);
cutAction.setLongDescription("Cut the selected text");
cutAction.setSmallIcon(cutIcon);
cutAction.setShortDescription("Cut");
cutAction.setActionName("Cut");
//$$ cutAction.move(0,0);
copyAction.setLongDescription("Copy the selected text");
copyAction.setSmallIcon(copyIcon);
copyAction.setShortDescription("Copy");
copyAction.setActionName("Copy");
//$$ copyAction.move(0,0);
pasteAction.setLongDescription("Paste text from the clipboard");
pasteAction.setSmallIcon(pasteIcon);
pasteAction.setShortDescription("Paste");
pasteAction.setActionName("Paste");
//$$ pasteAction.move(0,0);
undoAction.setEnabled(false);
undoAction.setLongDescription("Undo");
undoAction.setShortDescription("Undo");
undoAction.setActionName("Undo");
//$$ undoAction.move(0,0);
redoAction.setEnabled(false);
redoAction.setLongDescription("Redo");
redoAction.setShortDescription("Redo");
redoAction.setActionName("Redo");
//$$ redoAction.move(0,0);
exitAction.setLongDescription("Exit the application");
exitAction.setShortDescription("Exit");
exitAction.setActionName("Exit");
//$$ exitAction.move(0,0);
JScrollPane1.setOpaque(true);
getContentPane().add("Center", JScrollPane1);
JScrollPane1.setBounds(0,29,474,348);
JScrollPane1.getViewport().add(editor);
editor.setBounds(0,0,471,345);
JToolBar1.setAlignmentY(0.08F);
getContentPane().add("North", JToolBar1);
JToolBar1.setBounds(0,0,474,29);
JActionButton1.setActionCommand("New");
JActionButton1.setAction(newAction);
JToolBar1.add(JActionButton1);
JActionButton1.setBounds(16,4,51,23);
JActionButton2.setActionCommand("Open");
JActionButton2.setAction(openAction);
JToolBar1.add(JActionButton2);
JActionButton2.setBounds(67,4,57,23);
JActionButton3.setActionCommand("Save");
JActionButton3.setAction(saveAction);
JToolBar1.add(JActionButton3);
JActionButton3.setBounds(124,4,55,23);
JToolBar1.add(JToolBarSeparator1);
JToolBarSeparator1.setBounds(179,2,10,5);
JActionButton4.setActionCommand("Cut");
JActionButton4.setAction(cutAction);
JToolBar1.add(JActionButton4);
JActionButton4.setBounds(189,4,45,23);
JActionButton5.setActionCommand("Copy");
JActionButton5.setAction(copyAction);
JToolBar1.add(JActionButton5);
JActionButton5.setBounds(234,4,53,23);
JActionButton6.setActionCommand("Paste");
JActionButton6.setAction(pasteAction);
JToolBar1.add(JActionButton6);
JActionButton6.setBounds(287,4,59,23);
//$$ JMenuBar1.move(0,0);
JMenu1.setText("File");
JMenu1.setActionCommand("File");
JMenu1.setMnemonic((int)'F');
JMenuBar1.add(JMenu1);
JActionMenuItem1.setActionCommand("New");
JActionMenuItem1.setAction(newAction);
JActionMenuItem1.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_N, Event.CTRL_MASK));
JActionMenuItem1.setMnemonic((int)'N');
JMenu1.add(JActionMenuItem1);
JActionMenuItem2.setActionCommand("Open");
JActionMenuItem2.setAction(openAction);
JActionMenuItem2.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_O, Event.CTRL_MASK));
JActionMenuItem2.setMnemonic((int)'O');
JMenu1.add(JActionMenuItem2);
JActionMenuItem3.setActionCommand("Save");
JActionMenuItem3.setAction(saveAction);
JActionMenuItem3.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_S, Event.CTRL_MASK));
JActionMenuItem3.setMnemonic((int)'S');
JMenu1.add(JActionMenuItem3);
JMenu1.add(JSeparator1);
JActionMenuItem7.setActionCommand("Exit");
JActionMenuItem7.setAction(exitAction);
JActionMenuItem7.setMnemonic((int)'E');
JMenu1.add(JActionMenuItem7);
JMenu2.setText("Edit");
JMenu2.setActionCommand("Edit");
JMenu2.setMnemonic((int)'E');
JMenuBar1.add(JMenu2);
JActionMenuItem4.setActionCommand("Cut");
JActionMenuItem4.setAction(cutAction);
JActionMenuItem4.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_X, Event.CTRL_MASK));
JActionMenuItem4.setMnemonic((int)'U');
JMenu2.add(JActionMenuItem4);
JActionMenuItem5.setActionCommand("Copy");
JActionMenuItem5.setAction(copyAction);
JActionMenuItem5.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_C, Event.CTRL_MASK));
JActionMenuItem5.setMnemonic((int)'O');
JMenu2.add(JActionMenuItem5);
JActionMenuItem6.setActionCommand("Paste");
JActionMenuItem6.setAction(pasteAction);
JActionMenuItem6.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_V, Event.CTRL_MASK));
JActionMenuItem6.setMnemonic((int)'P');
JMenu2.add(JActionMenuItem6);
JMenu2.add(JSeparator2);
JActionMenuItem8.setActionCommand("Undo");
JActionMenuItem8.setAction(undoAction);
JActionMenuItem8.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, Event.CTRL_MASK));
JMenu2.add(JActionMenuItem8);
JActionMenuItem9.setActionCommand("Redo");
JActionMenuItem9.setAction(redoAction);
JActionMenuItem9.setAccelerator(com.sun.java.swing.KeyStroke.getKeyStroke(java.awt.event.KeyEvent.VK_Z, Event.SHIFT_MASK|Event.CTRL_MASK));
JMenu2.add(JActionMenuItem9);
//}}
editor.getDocument().addUndoableEditListener(undoHandler);
JActionButton1.setText("");
JActionButton1.setToolTipText((String)JActionButton1.getAction().getValue(Action.LONG_DESCRIPTION));
JActionButton2.setText("");
JActionButton2.setToolTipText((String)JActionButton2.getAction().getValue(Action.LONG_DESCRIPTION));
JActionButton3.setText("");
JActionButton3.setToolTipText((String)JActionButton3.getAction().getValue(Action.LONG_DESCRIPTION));
JActionButton4.setText("");
JActionButton4.setToolTipText((String)JActionButton4.getAction().getValue(Action.LONG_DESCRIPTION));
JActionButton5.setText("");
JActionButton5.setToolTipText((String)JActionButton5.getAction().getValue(Action.LONG_DESCRIPTION));
JActionButton6.setText("");
JActionButton6.setToolTipText((String)JActionButton6.getAction().getValue(Action.LONG_DESCRIPTION));
//{{INIT_MENUS
//}}
//{{REGISTER_LISTENERS
SymWindow aSymWindow = new SymWindow();
this.addWindowListener(aSymWindow);
SymAction lSymAction = new SymAction();
exitAction.addActionListener(lSymAction);
newAction.addActionListener(lSymAction);
openAction.addActionListener(lSymAction);
saveAction.addActionListener(lSymAction);
cutAction.addActionListener(lSymAction);
copyAction.addActionListener(lSymAction);
pasteAction.addActionListener(lSymAction);
undoAction.addActionListener(lSymAction);
redoAction.addActionListener(lSymAction);
//}}
}
void updateUndoStatus()
{
undoAction.setEnabled(undo.canUndo());
undoAction.setActionName(undo.getUndoPresentationName());
redoAction.setEnabled(undo.canRedo());
redoAction.setActionName(undo.getRedoPresentationName());
}
class UndoHandler implements UndoableEditListener {
/**
* Messaged when the Document has created an edit, the edit is
* added to <code>undo</code>, an instance of UndoManager.
*/
public void undoableEditHappened(UndoableEditEvent e)
{
undo.addEdit(e.getEdit());
updateUndoStatus();
}
}
UndoableEditListener undoHandler = new UndoHandler();
UndoManager undo = new UndoManager();
static public void main(String args[])
{
Notepad np = new Notepad();
np.setLocation(50,50);
np.setVisible(true);
}
//{{DECLARE_CONTROLS
com.symantec.itools.swing.icons.ImageIcon newIcon = new com.symantec.itools.swing.icons.ImageIcon();
com.symantec.itools.swing.icons.ImageIcon openIcon = new com.symantec.itools.swing.icons.ImageIcon();
com.symantec.itools.swing.icons.ImageIcon saveIcon = new com.symantec.itools.swing.icons.ImageIcon();
com.symantec.itools.swing.icons.ImageIcon cutIcon = new com.symantec.itools.swing.icons.ImageIcon();
com.symantec.itools.swing.icons.ImageIcon copyIcon = new com.symantec.itools.swing.icons.ImageIcon();
com.symantec.itools.swing.icons.ImageIcon pasteIcon = new com.symantec.itools.swing.icons.ImageIcon();
BasicAction newAction = new BasicAction();
BasicAction openAction = new BasicAction();
BasicAction saveAction = new BasicAction();
BasicAction cutAction = new BasicAction();
BasicAction copyAction = new BasicAction();
BasicAction pasteAction = new BasicAction();
BasicAction undoAction = new BasicAction();
BasicAction redoAction = new BasicAction();
BasicAction exitAction = new BasicAction();
com.sun.java.swing.JScrollPane JScrollPane1 = new com.sun.java.swing.JScrollPane();
com.sun.java.swing.JTextArea editor = new com.sun.java.swing.JTextArea();
com.sun.java.swing.JToolBar JToolBar1 = new com.sun.java.swing.JToolBar();
com.symantec.itools.swing.actions.JActionButton JActionButton1 = new com.symantec.itools.swing.actions.JActionButton();
com.symantec.itools.swing.actions.JActionButton JActionButton2 = new com.symantec.itools.swing.actions.JActionButton();
com.symantec.itools.swing.actions.JActionButton JActionButton3 = new com.symantec.itools.swing.actions.JActionButton();
com.symantec.itools.swing.JToolBarSeparator JToolBarSeparator1 = new com.symantec.itools.swing.JToolBarSeparator();
com.symantec.itools.swing.actions.JActionButton JActionButton4 = new com.symantec.itools.swing.actions.JActionButton();
com.symantec.itools.swing.actions.JActionButton JActionButton5 = new com.symantec.itools.swing.actions.JActionButton();
com.symantec.itools.swing.actions.JActionButton JActionButton6 = new com.symantec.itools.swing.actions.JActionButton();
com.sun.java.swing.JMenuBar JMenuBar1 = new com.sun.java.swing.JMenuBar();
com.sun.java.swing.JMenu JMenu1 = new com.sun.java.swing.JMenu();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem1 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem2 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem3 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.sun.java.swing.JSeparator JSeparator1 = new com.sun.java.swing.JSeparator();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem7 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.sun.java.swing.JMenu JMenu2 = new com.sun.java.swing.JMenu();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem4 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem5 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem6 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.sun.java.swing.JSeparator JSeparator2 = new com.sun.java.swing.JSeparator();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem8 = new com.symantec.itools.swing.actions.JActionMenuItem();
com.symantec.itools.swing.actions.JActionMenuItem JActionMenuItem9 = new com.symantec.itools.swing.actions.JActionMenuItem();
//}}
//{{DECLARE_MENUS
//}}
class SymWindow extends java.awt.event.WindowAdapter
{
public void windowClosing(java.awt.event.WindowEvent event)
{
Object object = event.getSource();
if (object == Notepad.this)
notepad_windowClosing(event);
}
}
void notepad_windowClosing(java.awt.event.WindowEvent event)
{
exitAction.actionPerformed(new ActionEvent(this, ActionEvent.ACTION_PERFORMED,"exit"));
}
class SymAction implements java.awt.event.ActionListener
{
public void actionPerformed(java.awt.event.ActionEvent event)
{
Object object = event.getSource();
if (object == exitAction)
exitAction_actionPerformed(event);
else if (object == newAction)
newAction_actionPerformed(event);
else if (object == openAction)
openAction_actionPerformed(event);
else if (object == saveAction)
saveAction_actionPerformed(event);
else if (object == cutAction)
cutAction_actionPerformed(event);
else if (object == copyAction)
copyAction_actionPerformed(event);
else if (object == pasteAction)
pasteAction_actionPerformed(event);
else if (object == undoAction)
undoAction_actionPerformed(event);
else if (object == redoAction)
redoAction_actionPerformed(event);
}
}
void exitAction_actionPerformed(java.awt.event.ActionEvent event)
{
System.exit(0);
}
void newAction_actionPerformed(java.awt.event.ActionEvent event)
{
Document oldDoc = editor.getDocument();
if(oldDoc != null)
{
oldDoc.removeUndoableEditListener(undoHandler);
}
editor.setDocument(new PlainDocument());
editor.getDocument().addUndoableEditListener(undoHandler);
undo.discardAllEdits();
updateUndoStatus();
setTitle("Untitled");
curFile=null;
curFileDir=null;
}
void openAction_actionPerformed(java.awt.event.ActionEvent event)
{
try
{
FileDialog fd = new FileDialog(this);
fd.setMode(FileDialog.LOAD);
fd.setVisible(true);
String theFile = fd.getFile();
String theFileDir = fd.getDirectory();
if ( (theFile == null) || (theFile.equals("")))
{
//no selected file so abort
return;
}
File f=new File(theFileDir, theFile);
if(!f.exists())
{ //file not there, abort
return;
}
Document oldDoc = editor.getDocument();
if(oldDoc != null)
{
oldDoc.removeUndoableEditListener(undoHandler);
}
editor.setDocument(new PlainDocument());
editor.getDocument().addUndoableEditListener(undoHandler);
setTitle(theFile);
Reader in=new FileReader(f);
char[] buff = new char[4096];
int nch;
while ((nch = in.read(buff, 0, buff.length)) != -1)
{
editor.getDocument().insertString(editor.getDocument().getLength(), new String(buff, 0, nch), null);
}
undo.discardAllEdits();
updateUndoStatus();
curFile = theFile;
curFileDir = theFileDir;
setTitle(curFile);
}
catch(Exception e)
{
e.printStackTrace();
}
}
void saveAction_actionPerformed(java.awt.event.ActionEvent event)
{
try
{
String text = editor.getText();
if (curFile==null)
{
FileDialog fd = new FileDialog(this);
fd.setMode(FileDialog.SAVE);
fd.setVisible(true);
String theFile=fd.getFile();
String theFileDir=fd.getDirectory();
if ( (theFile == null) || (theFile.equals("")))
{
//no selected file so abort
return;
}
curFile=theFile;
curFileDir=theFileDir;
}
File f = new File(curFileDir, curFile);
FileWriter out = new FileWriter(f);
out.write(text);
out.close();
setTitle(curFile);
}
catch(Exception e)
{
e.printStackTrace();
}
}
void cutAction_actionPerformed(java.awt.event.ActionEvent event)
{
editor.cut();
}
void copyAction_actionPerformed(java.awt.event.ActionEvent event)
{
editor.copy();
}
void pasteAction_actionPerformed(java.awt.event.ActionEvent event)
{
editor.paste();
}
void undoAction_actionPerformed(java.awt.event.ActionEvent event)
{
try
{
undo.undo();
}
catch (Exception e)
{
e.printStackTrace();
}
updateUndoStatus();
}
void redoAction_actionPerformed(java.awt.event.ActionEvent event)
{
try
{
undo.redo();
}
catch (Exception e)
{
e.printStackTrace();
}
updateUndoStatus();
}
}